home *** CD-ROM | disk | FTP | other *** search
/ MacFormat 1997 March / macformat-048.iso / Shareware Plus / Applications / Fast Eddie ß1 / Tech Info / Monitor Docs 1.0d7 < prev   
Encoding:
Text File  |  1996-07-12  |  7.0 KB  |  100 lines  |  [ttro/ttxt]

  1. Fast Eddie Monitor
  2. Version 1.0d7
  3.  
  4. By Urs "Cody" Hochstrasser, Fast Eddie Labs, Switzerland.
  5.  
  6.  
  7. Introduction
  8.  
  9. The Fast Eddie Monitor ('monitor' in this text) was created to make the testers' life a tiny bit easier. Therefore it features memory dumps, register and flag display, setting of memory locations, flags and registers, loading and saving of memory dumps from/to disk, a disassembler, a mini assembler and something quite mysterious called the reality mode. Furthermore you can save the contents of the scrollback buffer to disk. For longer output (the scrollback buffer has a size limit of 32K) text output can be streamed to a file. The most important Macintosh GUI features are implemented in version 1.0d7 (scrolling, zooming, window resizing, no Copy/Paste yet).
  10. Being modeled after the legendary GS monitor, it should be straightforward to use. Tiny changes in the commands have been made however, because the monitor doesn't support control characters in the command line. CTRL-E (Register display) becomes 'P' and ESC-@ is '@' in Fast Eddie.
  11. There are some important points about the monitor worth discussion: Since it is running as a part of a Mac program it is not affected by crashes on the 65816 side of life. Even when the emulated processor is in the stratosphere you can inspect memory locations or list some code. But that's not all! Since the command entry is event driven like the rest of any Mac program, you can use the monitor while the emulator is running!
  12. When the monitor windowis closed, it is only hidden. This means the content is preserved until you quit Fast Eddie.
  13.  
  14.  
  15. List of Instructions
  16.  
  17. Here is a list of all commands the monitor understands, along with some explanations. The command line parser has been tested until it worked well enough for normal purposes, not more. E.g. it doesn't support multiple instructions per command line.
  18. Of course you don't need to type exactly 2, 4 or 8 digits to specify a hex value. Just specify as many digits as necessary.
  19. If not specified otherwise you can use lower or uppercase characters for commands.
  20. The following metacharacters are used in this list: Optional stuff is between [ and ]. <CR> is the carriage return key (you can also use the enter key on the keypad).
  21.  
  22. @  Clear Screen  (ESC-@ in GS monitor)
  23. This command was once important since the monitor is based on the 32K limited TextEdit. It doesn't only clear the screen but also the text buffer. The monitor now handles text buffer overflow appropirately.
  24.  
  25. ?    Help
  26. Display a little reminder about the commands our little monitor understands.
  27.  
  28.  
  29. [nn/nnnn.mm/mmmm]<CR>    Memory Dump
  30. Display the next memory locations. Since the monitor has a 80 column display it shows 16 bytes in a row maximum, togehther with the ASCII equivalent. By default cross bank dumping is off. It can be toggled with the 'X' command. Display can be stopped by pressing 'Command-.'  Memory dump is affected by reality mode (see 'M' command).
  31.  
  32. [nn/nnnn.mm/mmmm]:xx yy zz ...   Set Memory Bytes
  33. Set Memory Bytes. Only limited by the maximum length of the command line.  This instruction is affected by reality mode (see 'M' command).
  34.  
  35. P   Processor Status (CTRL-E in GS monitor)
  36. Display register contents, flags and status register (bitwise). This command also copies the processor emulator's registers into its own internal variables (needed for disassembly).
  37.  
  38. nn=r   Set Register
  39. Set register or flag to nn. r can be the following: A, X, Y, S, D, B, K, n, z, c, i, d, v, e, m, x. Caution: these are case sensitive!
  40.  
  41. [nn/nnnn.mm/mmmm]R   Read from Disk
  42. Read any file to the specified address. If a range is specified only bytes within that range are loaded.  This instruction is affected by reality mode (see 'M' command).
  43.  
  44. [nn/nnnn.mm/mmmm]W   Write to Disk
  45. Write a range of memory to a disk file of type 'TEXT'. If no range is specified or the range is empty 'W' does nothing.
  46. The range specification itself is not saved. Therefore you must specify the starting address explicitely when loading it again. This instruction is affected by reality mode (see 'M' command).
  47.  
  48. [nn/nnnn]L   Disassemble
  49. Disassembles 20 instructions. Sets internal e and x flags according to REPs, SEPs and XCEs like the ROM 03 monitor. Displays inline GS/OS call (JSL $E100A8) and ProDOS MLI call (JSR $BF00) correctly. This instruction is affected by reality mode (see 'M' command).
  50.  
  51. [nn/nnnn]S   Step
  52. Display one instruction a time. This instruction is affected by reality mode (see 'M' command).
  53.  
  54. !   Mini Assembler
  55. Enter Mini Assembler Mode. Prompt changes to '!'.  Interprets typed 65816 instructions like the original,  i.e. you can type assembly language instructions like this:
  56.        ! LDA #3
  57. There are some exceptions however:
  58. - there is no space character required in front of the assembly instruction:
  59.        !ADC 2
  60.   The instruction is immediately disassembled for you to check the code.
  61. - no special order is required in the argument list:
  62.        !LDA (2,S),Y can also be written like this: !LDA(sy2 or LDAys2(
  63.   (the mini assembler recognizes only these elements: number, #, (, [, X, Y, S ).
  64. - the error messages are in plain english. No guessing what's wrong...
  65. This instruction is affected by reality mode (see 'M' command).
  66.  
  67. M    Reality Mode
  68. Toggle reality mode off/on. When reality mode is on, all memory mapping in effect on the emulator also affects some monitor commands. I.e. you can throw softswitches, load and view SHR pictures, enjoy shadowing, etc...
  69. Here's an example: load an uncompressed GS super hires dump into E1/2000. Set C1/C029 to C1. Presto, the picture is displayed!
  70. If reality mode is off, all memory banks are treated as plain RAM without any other functionality.
  71.  
  72. X   Crossbank Dump Toggle
  73. This option is disabled by default (on  request of an important tester...). In this mode the address wraps to 0000 without incrementing the bank. With crossbank dump it does increment the bank.
  74.  
  75.  
  76. How to Save and Stream
  77.  
  78. There is a tiny disk button in the lower left corner of the monitor window. When you press it with the mouse, a popup menu is displayed. You can:
  79. - display the About Box 
  80. - Save the text buffer of the monitor window to a disk file
  81. - enable streaming: any further text output is also written to a disk file until you press the stop
  82.    button next to the disk button. The emulator command 'Step Ad Nauseam...' invokes
  83.    streaming as well.
  84.  
  85.  
  86. Have Fun!
  87. --Urs
  88.  
  89.  
  90. Version History
  91.  
  92. 1.0d7 
  93. Added features: Standard Macintosh GUI features (scroll bar, zooming, window resizing. Text selection with Copy/Paste not yet implemented). Proper text overflow handling. Saving of window content and streaming text output to disk. A boundary check has been introduced; entering too high addresses or banks no longer crashes the Mac.
  94.  
  95. 1.0d6
  96. First documented version :-) featuring  memory dumps, register and flag display, setting of memory locations, flags and registers, loading and saving of memory dumps from/to disk, a disassembler, a mini assembler and the reality mode.
  97.  
  98. Legalese
  99. Copyright 1996 by Fast Eddie Labs and Urs Hochstrasser. Specifications are subject to change without notice. Mac, Macintosh, Apple II, GS and 65816 are (registered) trademarks of their respective holders. 
  100.